//
//  EXRequestMessage.h
//  Edaox
//
//  Created by cao pan on 7/10/14.
//  Copyright (c) 2014 edaox. All rights reserved.
//

#import <Foundation/Foundation.h>


extern NSString * const EX_REQUEST_METHOD_GET;
extern NSString * const EX_REQUEST_METHOD_POST;

@interface EXRequestMessage : NSObject
{
@protected
    NSString            *_requestMethod;
    NSString            *_requestPath;
    NSMutableDictionary *_requestBody;
}

@property (nonatomic,readwrite,copy)    NSString     *requestMethod;
@property (nonatomic,readwrite,copy)    NSString     *requestPath;
@property (nonatomic,readwrite,strong)  NSMutableDictionary *requestBody;
@property (nonatomic,readwrite,assign)  BOOL isCryptParameters;
@property (nonatomic,readwrite,strong)  NSData * pictureData;

- (NSArray *)allKeys;
- (NSArray *)allValues;

- (NSString*)stringForKey:(NSString*)key;
- (NSInteger)intForKey:(NSString*)key;
- (double)doubleForKey:(NSString*)key;
- (BOOL)boolForKey:(NSString*)key;
- (NSDate*)dateForKey:(NSString*)key;
- (NSDate*)dateForKey:(NSString*)key withFormat:(NSString*)format;
- (NSData*)dataForKey:(NSString*)key;

- (void)setString:(NSString*)value forKey:(NSString*)key;
- (void)setInt:(NSInteger)value forKey:(NSString*)key;
- (void)setDouble:(double)value forKey:(NSString*)key;
- (void)setBool:(BOOL)value forKey:(NSString*)key;
- (void)setDate:(NSDate*)value forKey:(NSString*)key;
- (void)setDate:(NSDate*)value forKey:(NSString*)key withFormat:(NSString*)format;
- (void)setData:(NSData*)value forKey:(NSString*)key;
- (void)setImageData:(NSData *)value forKey:(NSString *)key;

@end
